In multimedia content delivery systems there is a need for network devices to measure and control traffic per session. This allows network operator to control and/or monitor service-level metrics per session basis and provide related guarantees to users. Unlike aggregated traffic control mechanisms (e.g. per application type), per-session metrics can have direct relations to user-experience.
There are some prior art methods for application or subscribed based classification—all inadequate for providing session based classification.
Some of these classification methods are listed below:                a. IP-address based classification. Differentiating between traffic going to different subscribers is straight-forward and well known: The traffic to/from subscriber S uses subscriber S public IP address being different per subscriber. In case the HTTP server used for a multimedia application is dedicated to delivery of this specific application, it is similarly easy to differentiate between traffic of this application and that of other applications—By identifying traffic to/from the IP address of that HTTP server, one easily classifies this traffic as belonging to the application concerned. In general IP-based classification of traffic uses source and/or destination IP addresses. This is a solution for the case where no differentiation is needed between traffic from the same server to the same subscriber.        b. Classification based on IP address and port number. An extension of the above known solution is to also classify by well known UDP or TCP port numbers. This is effective for differentiating between HTTP and non-HTTP traffic but is not helpful in our case.        c. Network-device added QoS tags. Known methods allow classification by network devices based on combination of the above with QoS tags (e.g. ToS/DSCP/IEEE 802.11Q). A network device typically adds these tags based on previous methods and possibly additional DPI mechanisms, allowing classification of specific applications, specific servers or specific media types but not of specific sessions.        
FIG. 1 is an illustration of a prior art HTTP media delivery system. It includes an application server 10, an application manager 30, a first delivery network 20, a network device for measuring and controlling traffic per application or per subscriber 40 (that may include application/subscriber granularity classifier 42), second delivery network 52, subscriber gateway 60 that may provide access connection termination and hay have a NAT router, a subscriber private network 70 and multiple (such as two) client (subscriber) devices 80 and 82.
The application server 10 is connected to the application manager 30 and to the first delivery network 20. The first delivery network 20 and the application manager 30 are connected to the network device 40 for measuring and controlling traffic per application or per subscriber. The second delivery network 52 is connected to the network device 40 and to the subscriber gateway 60. The subscriber gateway 60 and the client device 80 and 82 are connected to the subscriber private network. The client devices 80 and 82 can execute various applications such as watching video on-line (device 80), or watching video on line while downloading video for later offline viewing (device 82).
Network device 40 that performs such classification may be referred to as a “classifier”. We assume classifiers have a table of relevant traffic-types with characteristics by which the traffic of a specific application or a specific subscriber is identified (e.g. IP address) and that table updates when applications or subscribers are added or removed from the system.
While such prior art systems and methods are typically limited to classification by subscriber or by application-type, and in a system as described in FIG. 1, the traffic of two different sessions, both of application 1 in the same subscriber-network is bound to be treated the same. The problem at hand is to allow classification not per subscriber or per application but also per session.
A subscriber is typically assigned with a single public IP address. A dynamic, overloading, NAT (Network Address Translation) function, sometimes referred to as PAT (Port Address Translation) is typically used. This allows the subscriber to have a private network with multiple devices all sharing the same public-network-connection and the same public IP address. This also means that to nodes on the public network, the entire subscriber-private network looks like a single device having a single IP address, thus hiding the private network structure and multiplicity of devices.